Cloud computing enables delivering information technology (IT) capabilities as on-demand services. This scalable and elastic model provides advantages like faster time to market, pay-per-use business models, etc. A key challenge in offering Cloud Computing services is being able to efficiently guarantee application service levels for quality of service characteristics like performance, scalability, availability, etc. This involves optimizing resource allocations and application configurations to provide the service level agreement (SLA) targets while reducing the associated costs.
With increasing adoption of cloud computing technologies, and as the scale of computing increases, there is an increasing need to automate aspects of cloud computing technologies, such as configuration, setup of constraints/policies on usage, governance of cloud applications, and infrastructure management. Without such automation, cloud computing technologies will become increasingly unmanageable.
Unlike traditional models which have hardwired infrastructure and deployment configurations, virtualization and cloud computing enable changes in the infrastructure layer programmatically. As a result, adoption of cloud computing provides the opportunity for automation of some of the otherwise manual activities in traditional infrastructure deployment models.
Therefore, there exists ample opportunity for improvement in technologies related to automation of application service level management using cloud computing technologies.